import axios from 'axios';
import {Notify, Toast} from "vant";
import router from "../router";

export function request(config) {
    const instance = axios.create({
        baseURL: 'https://api.shop.eduwork.cn',
        timeout: 5000,
    })

    // 请求拦截
    instance.interceptors.request.use(config => {
        // 如果有接口需要认证才可以访问，就在这同意设置
        const token = localStorage.getItem("token")
        if (token) {
            config.headers.Authorization = `Bearer ${token}`
        }
        // 直接放行
        return config;
    }, err => {

    })


    // 响应拦截
    instance.interceptors.response.use(res => {
        return res.data ? res.data : res;
    }, err => {
        // 如果有需要授权才可以访问的接口，同意去login授权
        if (err.response.status === 401) {
            Toast.fail('请先登录')
            setTimeout(()=>{
                router.push({path:'/login'})
            },500)
        }
        // 如果有错误，在这里处理，显示错误信息
        console.log(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0])
        Notify(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0])
    })

    return instance(config);
}
